<!-- 
[面试题: 为什么使用模块化? 哪些方式可以实现模块化? 各有什么特点? ]

1.使用模块化可以带来以下好处:
    1.1 解决命名冲突;
    1.2 提高代码的复用性
    1.3 提高代码的可维护性

2.几种实现模块化的方式:
    2.1 立即执行函数;
        优点: 解决了命名冲突, 污染全局作用域的问题
    2.2 AMD和CMD;
    2.3 CommonJS;
    2.4 ES Module;
 -->
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>模块化</title>
</head>

<body>

</body>
<script>
    // 1.立即执行函数
    (function () { console.log('我是立即执行函数') })();

    // 2.AMD CMD: define

    // 3.CommonJS,最早在node中使用: module.exports & require

    // 4.ES Module:  import & export (ES Module会编译成require/exports执行) P24
     

</script>

</html>